package com.springcloud3.stream;

import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Test3 {

   public static void  main(String[] args) {
       //中间操作
       //filter 过滤 ; 跳出我们用的元素
       //map 映射 ; 一一映射;a变成 b
//mapToInt mapToLong mapToDouble
       //flatMap 打散:  一对多映射
    //distinct 去重,sorted 排序,peek 看一下 ,limit 限制
       // skip 跳过,takeWhile 当什么时候

       List<Person> list= List.of(new Person("zhang san","男",25) ,new Person("ma four","男",12) ,new Person("li liu","女",27));
  //1.挑出16岁以上的
       list.stream().filter(person -> person.getAge() > 16).
          map(person->person.getName())
               .sorted(String::compareTo)
.forEach(System.out::println);


       List.of(1,2,3,4,5,6)
               .stream()
               .takeWhile(els->els > 2)//当满足条件拿个这个元素,不满足直接结束
               .collect(Collectors.toSet());


     Map<String,List<Person> > map = list.stream().filter(person -> person.getAge() > 5).
      collect(Collectors.groupingBy(t->t.getGender()));//分组操作
       map.forEach((key,value)->{
           System.out.println(key+"--->"+value);
       });
    }
}
